package leetcode_100;

import java.util.ArrayList;
import java.util.List;

/**
 *@author 周杨
 *SimplifyPath_71 Unix系统中文件系统绝对路径转换为相对路径
 *describe: 利用栈 对.和..进行处理 AC 93%
 *2018年5月12日 下午8:55:18
 */
public class SimplifyPath_71 {

	public static void main(String[] args) {
		SimplifyPath_71 test=new SimplifyPath_71();
		System.out.println(test.simplifyPath("/home/"));

	}
	
	 public String simplifyPath(String path) {
			List<String> res = new ArrayList<>();
			String[] help = path.split("/");

			for (String str : help)
				if (str.length() != 0 && !str.equals("."))//有多余的/或者是返回当前目录 则不进行任何操作
					if (str.equals("..")) {//返回上一层目录
						if (res.size() > 0)
							res.remove(res.size() - 1);//退栈
					} else
						res.add(str);

			StringBuilder sb = new StringBuilder();

			for (String str : res)
				sb.append("/").append(str);

			return res.size() == 0 ? "/" : sb.toString();
		}

}
